1
L'essenza della scienza informatica: algoritmi, programmazione e potere dell'astrazione
AI028Lesson 1
00:00

L'essenza della scienza informatica non è lo studio del computer stesso, ma piuttosto lo studio“risoluzione dei problemi (Problem Solving)”come scienza. È un'arte che consiste nel trasformare il caos complesso del mondo reale in passaggi logici precisi.

n (input)sqrt()√n (output)Figura 1-1 Astrazione procedurale: visione del blocco nero

Tre pilastri fondamentali

  • Algoritmo (Algorithm)È l'anima della risoluzione dei problemi. È un processo con un numero finito di passaggi che determina se un problema ècalcolabile (Computable).
  • Programmazione (Programming)È il processo di tradurre un algoritmo in un linguaggio comprensibile al computer (ad esempio Python). È il ponte tra astrazione logica e implementazione fisica.
  • Astrazione procedurale (Procedural Abstraction)È l'arma finale per gestire la complessità. Incapsulando i dettagli di implementazione all'interno di un "blocco nero", il programmatore può concentrarsi solo su "cosa fare" senza preoccuparsi di "come farlo".
Utente (User)Interfaccia (Interface)ImplementazioneOperazioneFigura 1-2 Struttura gerarchica dell'astrazione
La filosofia del blocco nero per gli sviluppatori
Quando chiami math.sqrt(16) non hai bisogno di sapere se sotto il cofano si usa il metodo di Newton o la ricerca binaria. Questa capacità di "ignorare i dettagli irrilevanti" è il fulcro per costruire sistemi software su larga scala. È anchetipi di dati astratti (ADT) l'inizio del pensiero: separare completamente la rappresentazione logica dei dati dall'implementazione fisica.